Filter hook 'delete_{$meta_type}_metadata'

in WP Core File wp-includes/meta.php at line 434

View Source

delete_{$meta_type}_metadata

Filter Hook
Description
Short-circuits deleting metadata of a specific type. The dynamic portion of the hook name, `$meta_type`, refers to the meta object type (post, comment, term, user, or any other type with an associated meta table). Returning a non-null value will effectively short-circuit the function. Possible hook names include: - `delete_post_metadata` - `delete_comment_metadata` - `delete_term_metadata` - `delete_user_metadata`

Hook Information

File Location wp-includes/meta.php View on GitHub
Hook Type Filter
Line Number 434

Hook Parameters

Type Name Description
null|bool $delete Whether to allow metadata deletion of the given type.
int $object_id ID of the object metadata is for.
string $meta_key Metadata key.
mixed $meta_value Metadata value. Must be serializable if non-scalar.
bool $delete_all Whether to delete the matching metadata entries for all objects, ignoring the specified $object_id. Default false.

Usage Examples

Basic Usage
<?php
// Hook into delete_{$meta_type}_metadata
add_filter('delete_{$meta_type}_metadata', 'my_custom_filter', 10, 5);

function my_custom_filter($delete, $object_id, $meta_key, $meta_value, $delete_all) {
    // Your custom filtering logic here
    return $delete;
}

Source Code Context

wp-includes/meta.php:434 - How this hook is used in WordPress core
<?php
 429  	 * @param mixed     $meta_value Metadata value. Must be serializable if non-scalar.
 430  	 * @param bool      $delete_all Whether to delete the matching metadata entries
 431  	 *                              for all objects, ignoring the specified $object_id.
 432  	 *                              Default false.
 433  	 */
 434  	$check = apply_filters( "delete_{$meta_type}_metadata", null, $object_id, $meta_key, $meta_value, $delete_all );
 435  	if ( null !== $check ) {
 436  		return (bool) $check;
 437  	}
 438  
 439  	$_meta_value = $meta_value;

PHP Documentation

<?php
/**
	 * Short-circuits deleting metadata of a specific type.
	 *
	 * The dynamic portion of the hook name, `$meta_type`, refers to the meta object type
	 * (post, comment, term, user, or any other type with an associated meta table).
	 * Returning a non-null value will effectively short-circuit the function.
	 *
	 * Possible hook names include:
	 *
	 *  - `delete_post_metadata`
	 *  - `delete_comment_metadata`
	 *  - `delete_term_metadata`
	 *  - `delete_user_metadata`
	 *
	 * @since 3.1.0
	 *
	 * @param null|bool $delete     Whether to allow metadata deletion of the given type.
	 * @param int       $object_id  ID of the object metadata is for.
	 * @param string    $meta_key   Metadata key.
	 * @param mixed     $meta_value Metadata value. Must be serializable if non-scalar.
	 * @param bool      $delete_all Whether to delete the matching metadata entries
	 *                              for all objects, ignoring the specified $object_id.
	 *                              Default false.
	 */
Quick Info
  • Hook Type: Filter
  • Parameters: 5
  • File: wp-includes/meta.php
Related Hooks

Related hooks will be displayed here in future updates.